package com.whli.jee.system.service;

import com.whli.jee.common.web.entity.BaseTree;
import com.whli.jee.common.web.service.IBaseService;
import com.whli.jee.system.entity.SysMenu;

import java.util.List;

/**
 * @author whli
 * @version 1.0
 * @since 1.0
 */
public interface ISysMenuService extends IBaseService<SysMenu> {

    /**
     * 根据登录用户查询按钮
     * @param userId
     * @param parentUrl
     * @return
     */
    List<SysMenu> listButtonsByUserAndParentAndOffice(String userId, String parentUrl,String officeId);


    /**
     * @Desc 以树形式展示菜单
     * @Author whli
     * @Version 1.0
     * @Date 2018/6/3 15:19
     * @Params [parentId]
     * @Return
     */
    List<BaseTree> listMenuTrees(String parentId);

    /**
     * 根据父ID及排序查询菜单
     * @param entity
     * @return
     */
    SysMenu getByParentIdAndSort(SysMenu entity);

    /**
     * 查询除按钮外的所有菜单
     * @return
     */
    List<SysMenu> listByNotButton(String parentId);

    /**
     * 根据登录用户、公司及角色查询菜单
     * @param userId
     * @param parentId
     * @param officeId
     * @return
     */
    List<SysMenu> listByUserAndOfficeAndParent(String userId, String parentId, String officeId) throws Exception;
}
